#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#define NUEVO 0
#define CONECTARSE 1
#define SALIR 2

#include "ventanaaplicacion.h"
#include "ventanaseleccion.h"
#include "SimpleController.h"
#include "Mapa.h"
#include "FabricaDeTerritorios.h"
#include <gtkmm.h>
#include <gtkglmm.h>
#include "SDL.h"
#include "Cliente.h"
#include <iostream>

using namespace std;
using namespace ui;
using namespace Gtk;
using namespace Gtk::GL;

int main(int argc, char *argv[]) {

	int response;
	bool termino = false;
	
	Gtk::Main t_Main(&argc, &argv);
	Gtk::GL::init(argc, argv);
	
	while(!termino){
		VentanaSeleccion vs;
		response = vs.ejecutar();
		vs.hide();
	
		switch(response){
			case NUEVO: break;
			case CONECTARSE: {
				Cliente cliente;
				VentanaAplicacion ventanaAplicacion(cliente);
				SimpleController simpleController(cliente, ventanaAplicacion);
				cliente.addObserver(&simpleController);
				simpleController.iniciar();
				break;
			}
			case SALIR: 
				termino = true;
				break;
			default : termino = true;
					  break;
		}
	}
	
	return 0;
}

